﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tibet.Logica
{
    /// <summary>
    /// Fabrica que regresa el tipo de Reporte que se necesite en el momento.
    /// </summary>
    public class FabricaReporte
    {
        public FabricaReporte()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public static Reporte CrearRepErrProy()
        {
            return new ReporteErroresProy("Errores por Proyecto");
        }

        public static Reporte CrearRepErrDesa()
        {
            return new ReporteErroresDesarrollador("Errores por Desarrollador");
        }

        public static Reporte CrearRepEstaProy()
        {
            return new ReporteEstadoProyecto("Proyectos");
        }

        public static Reporte CrearRepListadoGral()
        {
            return new ReporteListadoGeneral("Listado General");
        }

        public static Reporte CrearRepDesarrolladores()
        {
            return new ReporteDesarrolladores("Lista de Desarrolladores");
        }
        public static Reporte CrearReporteTLOC(int idproyecto)
        {
            return new ReporteTLOC("Numero de lineas por Proyecto", idproyecto);
        }

        public static Reporte CrearReporteNSM(int idproyecto)
        {
            return new ReporteNSM("Numero de Metodos Estaticos", idproyecto);
        }
        public static Reporte CrearReporteNORM(int idproyecto)
        {
            return new ReporteNORM("Numero de Metodos Sobrecargados", idproyecto);
        }
    }
}
